package com.vhall.component.entity.gift.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 表情关联表
 *
 * @author xianglei
 * @date 2021/1/27
 */
@Data
@TableName("gift_mapping")
public class GiftMapping implements Serializable {

    private static final long serialVersionUID = 5183955427777975454L;

    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * PaaS应用ID
     */
    @TableField("app_id")
    @JsonProperty(value = "app_id")
    private String appId;

    /**
     * 创建者ID
     */
    @TableField("creator_id")
    @JsonProperty(value = "creator_id")
    private String creatorId;


    /**
     * 来源ID
     */
    @TableField("room_id")
    @JsonProperty(value = "room_id")
    private String roomId;

    /**
     * 表情ID
     */
    @TableField("gift_id")
    @JsonProperty(value = "gift_id")
    private Integer giftId;
    /**
     * 表情排序序号
     */
    @TableField("sort")
    @JsonProperty(value = "sort")
    private Integer sort;
    /**
     * 关联类型：0 关联来源ID，1 关联创建者ID
     */
    private Integer type;


    /**
     * 是否已删除 0 表示未删除 1 表示已删除
     */
    @TableField("deleted")
    @JsonProperty(value = "deleted")
    private Integer deleted;

    /**
     * 创建时间
     */
    @TableField("created_at")
    @JsonProperty(value = "created_at")
    private LocalDateTime createdAt;

    /**
     * 删除时间
     */
    @TableField("deleted_at")
    @JsonProperty(value = "deleted_at")
    private LocalDateTime deletedAt;

    /**
     * 更新时间
     */
    @TableField("updated_at")
    @JsonProperty(value = "updated_at")
    private LocalDateTime updatedAt;
}
